home *** CD-ROM | disk | FTP | other *** search
- CATE.PAS
- ========
- Cate (as in communiCate) is a modification to Fred Bulback's excellent
- TComm VCL. Here is what has changed:
-
- FUNCTIONAL CHANGES
-
- * TComm encoded the EV_xxxx event codes to send to a user defined
- event function, which then had to decode them. Cate instead "cracks"
- the EV_xxxx messages and allows an event for each and every one.
- Thus every WM_COMMNOTIFY generates a GetCommEvent whose result is
- then tested against all EV_xxxx event codes (including EV_RINGTE...
- ever try to know when the phone rings without having the
- modem tell you? TE means Trailing Edge).
-
- N.B. The event response functions receive the set of TCommEvents as
- an argument so you can manually decode additional events in one
- event rather than use an event response if you wish.
-
- VISUAL CHANGES
-
- * All numeric property lists (port, baud rate, etc) were modified so
- that they appear in numeric order by using numbers with underbars
- (e.g. _______300 to _256000 for baud rate)
-
- * I shamelessly reused Fred's gorgeous 25pin D-Sub component icon.
- To make it visually different I "cracked" it (like the messages).
- Just be glad I didn't call it CrakTerm.
-
- CATETERM.PAS
- ============
- CateTerm is a substantial revision to Fred's SimpleTerm. Changes:
-
- * An event response function was included for all events as diagnostic.
-
- * Memo1KeyPress was changed such that a buffer stores char input as a
- null string then sends the entire string when it sees a CR or LF. This
- smooths operation somewhat and actually uses the comm write buffer set
- up in Cate. The SendBuffer is currently set to 255 chars. Most AT
- commands are shorter than that.
-
- * SimpleTerm's Receive event response captured each character individually
- from the Read buffer [using Sizeof(char)] then sent it to Memo1 using
- SendMessage. This caused confusion in Memo1KeyPress because it
- could not tell whether a key was actually pressed or whether the key
- was from SendMessage (via the modem). Thus the "IsOurs" business to
- say _we_ typed something, not the modem.
-
- Receive now uses a 255 char buffer (like the SendBuffer). The data comes
- in a contiguous array so it can be sent to Memo1 via the Add method,
- eliminating the SendMessage and thus the "IsOurs." Since the receive
- buffer can be bigger than 255, this routine may need a loop to read
- until no more data is waiting; depending on CN_RECEIVE events may cause
- something to add data to Memo1 in between reads (like "got a RINGTE").
-
- * Without "IsOurs," the only need for Memo1.Enter is to initialize the
- SendBuffer array to all nulls. It is called by Memo1KeyPress for the same
- reason after the end of a typed line.
-
- LEGAL et al STUFF
- =================
-
- Whatever I've done here is free for the taking...no charge, no warranty,
- no support, no copyright. You'll have to check with Fred on his code.
- Please keep all the pieces together if you pass it on.
-
- If you are willing to pay for development of something in Delphi or C++
- (or know someone who is), contact me at:
-
- Best regards,
- Brian Lowe
- Beond Technology Corp.
- Windows Application Development
- Internet: brianlow@mcs.com
- CIS: 76640,2664
- Voice: (708) 918-7750